import SMERouter from 'sme-router'
import index from '../controllers/index'
import login from '../controllers/login'
import userList from '../controllers/sub/userList'
import position from '../controllers/sub/posList'

// 获取需要管理路由的DOM结点
const router = new SMERouter('app')

// 路由守卫
// 二级路由的一级路由最好不要放请求的同步代码, 否则渲染逻辑会有问题
// 二级路由并不会因为一级路由逻辑未完成而进行等待
// 同样, 路由守卫也不会因为执行时间长而堵住其他的路由执行
// 路由之间只是先后顺序的执行, 而不是同步代码(个人实践理解, 没有深究原理)
router.use(res => {
    console.log("++++路由守卫++++")
    const hash = location.hash
    if( hash === '#/index' ){
        location.hash = '#/index/user'
    }
})

router.route('/', login(router))
router.route('/login', login(router))
router.route('/index', index(router))
router.route('/index/user', userList())
router.route('/index/position', position())

export default router


